package com.biz.primus.model.tms.builder;

import com.biz.primus.model.tms.vo.*;

import java.util.List;

/**
 * DeliveryDetailBuilder
 *
 * @author JKLiues
 * @date 2017年11月28日
 */
public class DeliveryDetailBuilder {
    private DeliveryDetailRespVo deliveryDetailRespVo;

    public DeliveryDetailBuilder() {
        deliveryDetailRespVo = new DeliveryDetailRespVo();
    }

    public DeliveryDetailBuilder orderInfo(OrderInfoVo orderInfo) {
        deliveryDetailRespVo.setOrderInfo(orderInfo);
        return this;
    }

    public DeliveryDetailBuilder orderItems(List<OrderInfoItemRespVo> items) {
        deliveryDetailRespVo.setOrderItems(items);
        return this;
    }

    public DeliveryDetailBuilder splitItems(List<SplitOrderItemVo> items) {
        deliveryDetailRespVo.setSplitItems(items);
        return this;
    }

    public DeliveryDetailBuilder freeInfo(List<OrderFreeInfo> freeInfo) {
        deliveryDetailRespVo.setFreeInfo(freeInfo);
        return this;
    }

    public DeliveryDetailBuilder payInfo(PayInfoVo payInfo) {
        deliveryDetailRespVo.setPayInfo(payInfo);
        return this;
    }

    public DeliveryDetailBuilder consigneeInfo(ConsigneeInfoVo consigneeInfo) {
        deliveryDetailRespVo.setConsigneeInfo(consigneeInfo);
        return this;
    }

    public DeliveryDetailBuilder memberInfo(MemberInfoVo memberInfo) {
        deliveryDetailRespVo.setMemberInfo(memberInfo);
        return this;
    }

    public DeliveryDetailBuilder deliveryInfo(DeliveryInfoVo deliveryInfo) {
        deliveryDetailRespVo.setDeliveryInfo(deliveryInfo);
        return this;
    }

    public DeliveryDetailBuilder deliverStatusInfo(List<DeliveryStatusInfo> info) {
        deliveryDetailRespVo.setDeliveryStatusInfo(info);
        return this;
    }

    public DeliveryDetailBuilder signInfo(OrderSignInfoRespVo signInfo) {
        deliveryDetailRespVo.setSignInfo(signInfo);
        return this;
    }

    public DeliveryDetailRespVo build() {
        return deliveryDetailRespVo;
    }
}